/* 
 * Copyright (C) 2014 Realtek Semiconductor Corp.
 * All Rights Reserved.
 * 
 * This program is the proprietary software of Realtek Semiconductor
 * Corporation and/or its licensors, and only be used, duplicated,
 * modified or distributed under the authorized license from Realtek.
 * 
 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
 * 
 */


#ifndef __MIB_PSEUDOWIREMAINTENANCEPROFILE_TABLE_H__
#define __MIB_PSEUDOWIREMAINTENANCEPROFILE_TABLE_H__

/* Table PseudowireMaintenanceProfile attribute for STRING type define each entry length */

/* Table PseudowireMaintenanceProfile attribute index */
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_ATTR_NUM (17)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_ENTITYID_INDEX ((MIB_ATTR_INDEX)1)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_JITTERBUFFERMAXIMUMDEPTH_INDEX ((MIB_ATTR_INDEX)2)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_JITTERBUFFERDESIREDDEPTH_INDEX ((MIB_ATTR_INDEX)3)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_FILLPOLICY_INDEX ((MIB_ATTR_INDEX)4)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_MISCONNECTEDDACKETSDECLARATIONPOLICY_INDEX ((MIB_ATTR_INDEX)5)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_MISCONNECTEDPACKETSCLEARPOLICY_INDEX ((MIB_ATTR_INDEX)6)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_LOSSOFPACKETSDECLARATIONPOLICY_INDEX ((MIB_ATTR_INDEX)7)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_LOSSOFPACKETSCLEARPOLICY_INDEX ((MIB_ATTR_INDEX)8)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_BUFFEROVERRUNUNDERRUNDECLARATIONPOLICY_INDEX ((MIB_ATTR_INDEX)9)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_BUFFEROVERRUNUNDERRUNCLEARPOLICY_INDEX ((MIB_ATTR_INDEX)10)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_MALFORMEDPACKETSDECLARATIONPOLICY_INDEX ((MIB_ATTR_INDEX)11)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_MALFORMEDPACKETSCLEARPOLICY_INDEX ((MIB_ATTR_INDEX)12)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_RBITTRANSMITSETPOLICY_INDEX ((MIB_ATTR_INDEX)13)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_RBITTRANSMITCLEARPOLICY_INDEX ((MIB_ATTR_INDEX)14)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_RBITRECEIVEPOLICY_INDEX ((MIB_ATTR_INDEX)15)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_LBITRECEIVEPOLICY_INDEX ((MIB_ATTR_INDEX)16)
#define MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_SESTHRESHOLD_INDEX ((MIB_ATTR_INDEX)17)

/* Table PseudowireMaintenanceProfile attribute len, only string attrubutes have length definition */
typedef struct {
	UINT16   EntityId;
	UINT16   JitterBufferMaximumDepth;
	UINT16   JitterBufferDesiredDepth;
	UINT8    FillPolicy;
	UINT8    MisconnectedDacketsDeclarationPolicy;
	UINT8    MisconnectedPacketsClearPolicy;
	UINT8    LossOfPacketsDeclarationPolicy;
	UINT8    LossOfPacketsClearPolicy;
	UINT8    BufferOverrunUnderrunDeclarationPolicy;
	UINT8    BufferOverrunUnderrunClearPolicy;
	UINT8    MalformedPacketsDeclarationPolicy;
	UINT8    MalformedPacketsClearPolicy;
	UINT8    RbitTransmitSetPolicy;
	UINT8    RbitTransmitClearPolicy;
	UINT8    RbitReceivePolicy;
	UINT8    LbitReceivePolicy;
	UINT16   SESThreshold;
} __attribute__((packed)) MIB_TABLE_PSEUDOWIREMAINTENANCEPROFILE_T;

#endif /* __MIB_PSEUDOWIREMAINTENANCEPROFILE_TABLE_H__ */
